home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 February
/
CMCD0205.ISO
/
Software
/
Freeware
/
Programare
/
bluej
/
bluejsetup-203.exe
/
{app}
/
lib
/
spanish
/
javac.help
< prev
next >
Wrap
Text File
|
2004-12-19
|
22KB
|
744 lines
* is abstract; cannot be instantiated
The class is declared "abstract". That means that
it contains some methods for which it does not
provide an implementation ("abstract methods").
You cannot create objects of abstract classes.
You need to find or write a subclass of the
abstract class that implements all abstract
methods. You can then create objects of that
class.
abstract methods cannot have a body
You have declared a method "abstract" and
you have written a method body. That is a contradiction.
Abstract method declarations have only a method header,
followed by a semicolon. Either remove the "abstract"
keyword, or remove the method body.
* is already defined in *
There is already a variable (or maybe a
parameter) in this method that has the
same name. Use a different name for this
one. (Or maybe you meant to use the same
variable here? Then remove the type name
here so that it does not look like a new
declaration.)
anonymous class implements interface; cannot have arguments
No help available
anonymous class implements interface; cannot have qualifier for new
No help available
array required, but *
You are using syntax here that suggests that you are
trying to access an array element. The variable you
refer to is not an array, though.
break outside switch or loop
The "break" statement breaks out of a block,
such as a "switch" statement or a loop
("for", "while" or "do" loop). It cannot be
used outside of such a block.
* must be first statement in constructor
As the very first thing in every class that has a
superclass, you should call the superclass's
constructor. You do that by adding
super(...);
as the first line of your constructor (where you
replace the dots with the appropriate parameters).
Trying to use members of the superclass before
calling it's constructor is bound to be trouble!
cannot access *
No help available
* cannot be applied to *
No help available
cannot assign a value to final variable *
The variable you are trying to assign to here has
been declared "final". That means that you are not
allowed to change its value later on. If you really
need to change the value, remove the "final" keyword
from the variable declaration.
* cannot be dereferenced
You are using dot notation to access a field or method
of another object. However, the variable you are using
is not of an object type - it does not have fields or
methods.
cannot inherit from final *
The superclass (the class listed after the
"extends" keyword) is declared final. That
means that it specifically prohibits
subclasses. Sorry - you cannot subclass it
if it doesn't want you to...
* before supertype constructor has been called
As the very first thing in every class that has a
superclass, you should call the superclass's
constructor. You do that by adding
super(...);
as the first line of your constructor (where you
replace the dots with the appropriate parameters).
Trying to use members of the superclass before
calling it's constructor is bound to be trouble!
cannot return a value from method whose result type is void
A void result type in a method signature means that this
method will not return any result. The method body
should not have a return statement within it.
cannot select a static class from a parameterized type
No help available
* cannot be inherited with different arguments:*
No help available
'catch' without 'try'
"catch" is a Java keyword that can only appear after a
"try" block. The correct pattern is
try {
statements;
}
catch(Exception e) {
statements;
}
* clashes with package of same name
Make sure that the class and the package
have different names. Usually, classes
should start with a capital letter, while
package names start with a lowercase letter.
code too large for try statement
You have too much code inside this try statement.
Put the code into a separate method and insert a
method call here.
constant expression required
You have used a variable or an expression here, but
that's illegal. You can only use constants here.
Constants are number literals (such as 42) or
identifiers declared as "final".
continue outside of loop
The "continue" statement is used to
immediately start the next loop
iteration. It has no meaning outside
of a loop. It can only be used inside
a "for", "while" or "do" loop.
cyclic inheritance involving *
You are trying to extend a class here, but
that class has already declared that it
extends yours! Well, that cannot work!
You have to decide which one is the
superclass and which is the subclass.
* does not exist
The name you used here (which could be either
an attempt to name a variable, a class or a
package) does not exist. There was neither a
variable nor a class nor a package with this
name.
duplicate class:*
There appears to already be a class of this name.
duplicate case label
You have used the same label twice in the same
"switch" statement.
duplicate default label
You have written "default" twice inthe same switch
statement. You cannot do that - once is enough.
'else' without 'if'
An 'else' keyword can only appear as part of an 'if'
statement, in the form
if (condition)
statement;
else
statement;
Maybe you just forgot the braces around the statements?
If you have more than one statement after the if, you
have to add braces, like this:
if (condition)
{
statement1;
statement2;
}
else
{
statement3;
}
empty character literal
You have written a literal character that is empty.
You cannot write ''. A character constant is a single
character enclosed in single quotes, for example 'a'.
Most of the time, there can be only one single character
between the quotes. The only exception is if the first
character is the backslash (called the "escape character")
for specifying special characters, eg. '\n' or '\t'.
* has already been caught
This catch statement is useless. It can
never be executed, because all exceptions
that it is declared to catch are already
caught by another catch statement above it.
* is never thrown in body of corresponding try statement
You have declared that you want to catch
an exception here. But I can tell you
that this exception will never be thrown
here! There is no statement in the "try"
block that throws this exception.
'finally' without 'try'
"finally" is a Java keyword that can only appear after a
"try" block. The correct pattern is
try {
statements;
}
catch(Exception e) {
statements;
}
finally {
statements;
}
floating point number too large
The system cannot cope with floating point numbers
this big.
floating point number too small
The system cannot cope with floating point numbers
this small
inner classes cannot have static declarations
You cannot declare static types in
nested classes. If you need a static
type here, declare it in the outer class.
illegal character:*
There is an illegal character here in the source
file. This character may be invisible. If you cannot
find it to delete it, delete the whole line and type
it again.
illegal combination of modifiers: *
You have tried to combine two Java modifiers which
are considered an illegal pairing. It is likely
that the meaning of each is contradictory to each other.
An example of this would be defining a method as abstract
and native, final, private or synchronized.
illegal escape character
An escape character is written with a backslash
and a second character, for example '\n'. This is
used to specify special characters. There is only
a fixed set of characters that may appear after
the backslash. They are \n, \t, \b, \r, \f, \\,
\', \" and numbers. If you want to write the
backslash itself, write "\\" - this will be replaced
by a single backslash in your string.
illegal forward reference
No help available
illegal initializer for *
No help available
illegal line end in character literal
You have a line break where a character literal should
be specified. You cannot do that. If you want to specify
the character for a line break ("newline") write it as '\n'.
* is not an inner class
No help available
illegal start of expression
No help available
illegal start of type
At a position in the source where the name of
a type was expected, there was something else
(most likely a Java keyword). Check this line
for incorrect type definitions.
illegal unicode escape
No help available
improperly formed type, some parameters are missing
No help available
incomparable types: *
No help available
integer number too large: *
You have written a number that is too large to fit
into the data type that is expected here. You need
to use a larger data type
(for example, "long" instead of "int").
internal error; cannot instantiate *
No help available
* but with different return type
You may be trying to write two methods that have the same
signature except for return type. This is not allowed.
interface expected here
An interface can only extend another interface. The name
you have specified after the "extends" keyword is not an
interface.
interface methods cannot have body
Interface methods must be declarations only.
That means that they should contain a method
header followed by a semicolon. There should
be no method body.
hexadecimal numbers must contain at least one hexadecimal digit
You have specified a hexadecimal number. (This is done
by starting a number with "0X".) In hexadecimal numbers,
you must have at least one digit after the "X".
invalid method declaration; return type required
A method declaration must have a declared return type.
For example, if your method returns a String, write
public String myMethod();
If you do not want to return a value from this method,
use the special word "void" to indicate that there is
no return type. For example
public void myMethod();
* already in use
There is already a variable (or maybe a
parameter) in this method that has the
same name. Use a different name for this
one. (Or maybe you meant to use the same
variable here? Then remove the type name
here so that it does not look like a new
declaration.)
* is accessed from within inner class; needs to be declared final
Local variables cannot usually be accessed by inner
classes. But that is exactly what you are trying to
do here. You have two options: You can remove this
access to the local variable, or you can make the
variable "final" - then you can access it.
malformed floating point literal
You have made some mistake in writing a floating
point number. (A floating point number is one
with a decimal point in it.) Examples of correctly
written floating point numbers are
18.0 18. 1.8e1 .18E2
missing method body, or declare abstract
Methods must either have a body or be abstract. A
method body is the block in curly braces { } that
follows the method header and contains statements.
If a method does not have a body then it must have the
keyword "abstract" in its header. For example:
public abstract int getAnswer();
missing return statement
Here, you've got a method that is declared to return a
value. There is, however, no "return" statement in the body
of the method. That doesn't fit together. You must either:
- declare the return type of the method as "void"
if you don't want to return a value, or
- write a "return" statement with the correct
return type at the end of the method, for
example
return 42;
The type of the return value must match the declared type
in the method header.
missing return value
Here, you have written a "return" statement that does
not return a value. The method header, however, declares
that this method returns a value. You must either declare
that this method does not return a value (by using "void"
as the return type in the method header), or you must
return a value of the correct type, for example
return 42;
or
return "Marvin";
name clash: *
No help available
* is reserved for internal use
The term shown is reserved for internal use, if it is
name of a variable or class you will need to change it.
native methods cannot have a body
You have declared a method "native" and you have written
a method body. Native method declarations have only
a method header, followed by a semicolon. Either remove
the "native" keyword, or remove the method body.
no enclosing instance of type {0} is in scope
No help available
no interface expected here
You are referring to an interface here (possibly in
an "extends" declaration of a class). A class can only
extend other classes (not interfaces). If you want to
implement this interface, use the "implements" keyword
instead.
* has no match in entry in *
No help available
* is not defined in a public class or interface; cannot be accessed from outside package
No help available
* cannot be accessed from outside package
No help available
not a loop label: *
No help available
not a statement
You have written a line of code here that is not
a complete statement. Please check again what you
intended to do and how you should do it.
not an enclosing class:*
No help available
* cannot be applied to *
The operator that you use here cannot be used for the
type of value that you are using it for. You are either
using the wrong type here, or the wrong operator.
* clashes with class of same name
Make sure that the class and the package
have different names. Usually, classes
should start with a capital letter, while
package names start with a lowercase letter.
possible fall-through into case
No help available
error reading *
No help available
recursive constructor invocation
You have written code that causes this
constructor to call itself. That is not
allowed (and would most likely lead to
an infinite loop).
* is ambiguous, both *
The identifier named in this message cannot be properly
resolved, because there is more than one class or interface
with this name defined in the packages that you have imported.
You can either refer to the class here with its full qualified
name (e.g. java.util.List) or import the class with its fully
qualified name (e.g. import java.util.List).
repeated interface
You have listed the same interface
twice in the same "implements"
declaration. Once is enough. My
memory isn't that bad!
repeated modifier
In this declaration, you have written the same
modifier twice. A modifier is a keyword such
as final, static, public, private, volatile, ...
{0} has {1} access in {2}
No help available
return outside method
No help available
signature does not match *
No help available
* should be declared abstract; it does not define *
The current class inherits from an abstract class
or an interface. Abstract classes and interfaces
define methods without giving the implementation.
This class does not define implementations for
all the methods that still need implementations,
so this class itself is still abstract (meaning
it still has methods without implementations).
You must either declare this class abstract by
starting it with
public abstract class ...
instead of just
public class ...
or you must provide an implementation for the
method named in the error message.
error writing source; cannot overwrite input file *
No help available
'try' without 'catch' or 'finally'
If you use a "try" block, then it must be followed
by either a "catch" block or a "finally" block (or
both). The correct pattern is
try {
statements;
}
catch(Exception e) {
statements;
}
finally {
statements;
}
* does not take parameters
No help available
type variables cannot be dereferenced
No help available
type variable {0} occurs more than once in result type of {1}; cannot be left uninstantiated
No help available
type variable {0} occurs more than once in type of {1}; cannot be left uninstantiated
No help available
unclosed character literal
It is likely that you have declared a character literal and
not added the closing single quote: '.
unclosed comment
It is likely that you have written a comment and not
closed it with the comment close characters: */
unclosed string literal
It is likely that you have declared a String literal and
not added the closing double quotes: ".
undefined label: *
The variable you are trying to use here cannot be
found. Either it was never declared or it was
declared somewhere where you cannot see it.
The first case happens easily if you have a
spelling error in a variable. Check that the variable
is spelled correctly, including all capital characters
("aNumber" is not the same as "anumber"!).
The second case happens if a variable is declared
inside a block. (A block is a pair of curly braces,
like this { }.) If you have a variable declaration
inside a loop, for instance, then the variable is
only visible inside that loop. As a rule of thumb:
a variable becomes invisible after the curly brace (})
that closes the block in which it is declared.
unreachable statement
This statement will never be executed. If
you examine the code carefully you will
notice that the control flow is such that
it can never reach this statement. Delete
it if you really don't want it executed,
or fix your code.
initializer must be able to complete normally
You cannot throw exceptions or otherwise
terminate static initialiser blocks. You
have to let it complete executing.
unreported exception {0}; must be caught or declared to be thrown
Your code makes a call to a method that may throw
an exception. You have two choices: You can either
catch that exception or you can declare that your
method passes it on. If you want to catch the
exception, you have to use a
try
{
...
}
catch(...)
{
...
}
block.
If you want to pass it on, you must write the
declaration
throws <ExceptionName>
into the signature of your method.
'void' type not allowed here
The void type cannot be used in this context. it is
a special type that is used to indicate no return type
for methods. It cannot be used as a variable type.
* not allowed here
You have used an access modifier (such as "private",
"protected", etc.). This modifier is not allowed
at this location.
wrong number of type arguments; required *
No help available
* might already have been assigned to
A final variable can only be assigned once. (Your variable
in question here is final.) You have two assignments to this
variable in your code, and the compiler thinks it could
happen that both assignments are executed.
* might not have been initialized
You are using a local variable that is not guaranteed
to be initialised before it is used here. If in doubt,
initialise it at its declaration.
* might be assigned in loop
No help available
error while writing *
No help available
* is public, should be declared in a file named *
Public classes are required to be located in a file
named the same as the public class name with a
".java" extension. For example public class Foo
needs to be located in a file named "Foo.java".
cannot read: *
No help available
Fatal Error: Unable to locate package java.lang in classpath or bootclasspath
No help available
Fatal Error: Unable to locate method *
No help available
* uses or overrides a deprecated API.
You are using a method that is no longer recommended.
It is quite likely that there is another method or class
that provides this functionality. Consult the API
documentation for more details
Some input files use or override a deprecated API.
No help available
Recompile with -deprecation for details.
No help available
* uses unchecked operations.
No help available
Some input files use unchecked operations.
No help available
* has been deprecated
You are using a method that is no longer recommended.
It is quite likely that there is another method or class
that provides this functionality. Consult the API
documentation for more details
unchecked assignment: *
No help available
unchecked call to {0} as a member of the raw type {1}
No help available
unchecked cast to type *
No help available
unchecked generic array creation
No help available
unchecked method invocation: *
No help available
';' expected
There is a semicolon missing at the end of
a line. This could be the line marked in the
editor, or the line above.
'case', 'default' or '}' expected
No help available
'class' or 'interface' expected
The word "class" or "interface" is expected to
appear somewhere near the top of a source file.
This is missing here (or there is stuff in front
of it that doesn't belong there).
'.class' expected
No help available
'(' or '[' expected
It looks like there is an uneven number of brackets
in your code that is confusing the compiler. Carefully
check through your code that three are matching opening
and closing brackets.
* expected
The symbol named in the error message was
expected to appear at this point in the code.
It was not there; instead, there was some
other symbol. Try to think about why this
symbol may be expected here.
orphaned *
No help available
cannot access *
No help available
bad class file: *
No help available
type parameter {0} is not within its bound *
No help available
incompatible types*
There was an expression of a certain type required
here. You provided an expression of a different
type that is not compatible. (E.g. you wrote a
String where an int was expected.)
inconvertible types*
The type you have used here cannot be automatically
converted to the type required.
possible loss of precision
No help available
unexpected type
No help available
abstract {0} {1} cannot be accessed directly
No help available
*An explicit 'this' qualifier must be used to select the desired instance.
No help available
non-static {0} {1} cannot be referenced from a static context
No help available
cannot resolve symbol*
No help available
{0}; {1} and {2} are static
No help available
{0}; overridden method is {1}
No help available
attempting to assign weaker access privileges; was *
No help available
overridden method does not throw *
No help available
* attempting to use incompatible return type
No help available